/**
 * @file       Button.h
 * @brief      TODO
 * @author     Huabo Zheng
 * @date       Jan 12, 2012
 * @Copyright  2012, www.netgear.com Inc. All rights reserved.
 */

#ifndef BUTTON_H_
#define BUTTON_H_

#include "Frame.h"

namespace NS_LCD_AFW
{

class CButton: public CFrame
{
public:
	CButton();

protected:
	virtual ~CButton();

public:
	void setText(std::string text);

protected:
	virtual int onDraw(IDisplay *pDisplay);
	virtual int onCreate();
	virtual void onSetFocus();
	virtual void onLostFocus();
	virtual void onHightlight();
	virtual void onUnHightlight();
	virtual void onBtnClick();
private:
	virtual int onRightKeyPress();
	virtual int onLeftKeyPress();
	virtual int onUpKeyPress();
	virtual int onDownKeyPress();
    virtual int onEnterKeyPress();
    virtual int onEscKeyPress();

private:
	std::string m_strText;
private:
	DISABLE_COPY_CONSTRUCTOR_AND_ASSIGN_REFERENCE(CButton);
};

} /* namespace NS_LCD_AFW */
#endif /* BUTTON_H_ */
